/*
 * SnmpResultApi.h
 *
 *  Created on: 2016-1-12
 *      Author: root
 */
//从结果集读取指定数据
#ifndef SNMPRESULTAPI_H_
#define SNMPRESULTAPI_H_
#include"SnmpOidApi.h"
void ShowSnmpVariable(netsnmp_variable_list*varlist,const char*ip="0.0.0.0");
//只显示当前值
void ShowSnmpVariableOnce(netsnmp_variable_list*varlist,const char*ip="0.0.0.0");
//检查基础表OID -1不匹配 0一次
int CheckTableOid(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,int ShowErrInfo=1);
//检测类型是否一致 0一致 -1不一致
int CheckOidType(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo);
//-1失败 0 正常 1其他错误
int ReadCount32FromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,uint32_t&count32,u_char*oidType=NULL);
int ReadCount64FromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,uint64_t&count64);
int ReadIPFromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,char*IP);
int ReadIPV6FromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,char*IP);
int ReadMacFromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,char*Mac);
int ReadStringFromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,char*str,size_t length);
int ReadOidFromResult(const netsnmp_variable_list*result,const SnmpOidInfo oidInfo,char*str,size_t length);
//从结果中读取整数
int ReadCount32FromSnmpResult(const netsnmp_variable_list*result);
int ReadStringFromSnmpResult(const netsnmp_variable_list*result,char*str,size_t length);
#endif /* SNMPRESULTAPI_H_ */
